# -*- coding: utf-8 -*-#
#-------------------------------------------------------------------------------
# 建立者:        黄周云  
# Name:         test09
# Description:   作用域
# Author:       ASUS
# Date:         2019/3/9
#-------------------------------------------------------------------------------


x = 1                      #全局变量
def fun1():
    x = 30                 #局部变量
    print(x)               #30,在局部作用域只能看见局部变量
fun1()
print(x)                   #1,在全局作用域只能看见全局变量

x = 123
def fun2():
    print(x)               #123,当函数中未定义局部变量x，可以访问全局变量x
fun2()

x = 123
def fun3():
    x = 30
    print(x)              #30，当函数中定义了局部变量x，会隐藏上层作用域同名变量
fun3()

# x = 123
# def fun3():
#    print(x)
#    x = 30                 #报错，不管在作用域的哪个位置为变量赋值，这个变量都属于当前作用域，本例使用局部变量，但x却在print后赋值
# fun3()


